#ifndef __SORTEDVECTORBYXY_H
#define __SORTEDVECTORBYXY_H

#include "node.h"
#include "dataStructure.h"
#include <vector>


class sortedVectorByXY : public dataStructure<std::vector<Node*>::iterator>
{
	private:
		std::vector<Node*>* vectorNodes;

	public:
		sortedVectorByXY();
		void addNode(Node* node);
		bool empty();
		void remove(std::vector<Node*>::iterator it);
		void allocate(int width, int height);
		void freeNodes();
		Node* selectNodeLowestScore();
		std::pair<std::vector<Node*>::iterator, Node*> findNode(int x, int y);
		void modifyNode(std::vector<Node*>::iterator it);
};

#endif